beyondmiraclefandomcom-20200214-history
Lab 2
The updated PDF copy of the project plan can be found here. Introduction Project Overview ./Eden is an interactive game created using the Microsoft XNA Framework with C#. The game aims to provide awareness for the 8 United Nations Millennium Development Goals through an action game concept where the player builds the appropriate structures on the playing field in order to divert the Artificial Intelligence(AI) Characters from infecting the World. In order to divert these AI Characters, the player would have to use the credits earn to build different types of buildings. Credits could be earned by answering quiz questions which are related to the development goals correctly. Goals and Objectives The goal of this project is to create awareness to the public about the 8 United Nations Millennium Development Goals in a fun way. The 8 United Nations Millennium Goals are as followed: 1) End Poverty and Hunger 2) Universal Education 3) Gender Equality 4) Child Health 5) Maternal Health 6) Combat HIV / AIDS 7) Environmental Sustainability 8) Global Partnership Scope In line with the main objective of educating the public on the 8 United Nations Millennium Development Goals, our scope will include the following: *The game will provide the player with knowledge of the 8 United Nations Millennium Development Goals. *The game will utilize the knowledge gained through the game play of building matching structures for matching guys. Constraints The project has a development time limit of 3 months and a functional prototype must be ready by the 4th lab session. Furthermore, it is the first time the team is using the C# programming language and the XNA Framework to create a game so quite some time is needed for experimentation. Project Organisation Team Structure Roles and Responsibilities Work Breakdown Hardware and Software Requirements Hardware Requirements As most of the work is done on notebooks, the desktop/notebook has to meet the following requirements: *Operating Systems: **Windows 7 **Windows Vista **Windows XP *1.6 GHz or faster processor *384 MB of RAM or more (768 MB of RAM or more for Windows Vista) *Graphics card that supports DirectX 9.0c and Shader Model 1.1 (Shader Model 2.0 is recommended) Software Requirements The following software is required during the process of developing the project: #Visual Studio 2008 Professional Edition #XNA Game Studio 3.1 #Adobe Fireworks, Photoshop or other similar image editing software #Visual Paradigm #Microsoft Project #Microsoft Word Project Schedule Activity Network Activity Timeline Lifecycle model The team decided to go with the Rapid Application Development (RAD) model. A reason for this selection is because of the short amount of time given to produce a testable prototype. Also as the developers have no experience in programming a game using C# so there is no clear idea of how to do up a complete plan so by using RAD the team can do with minimal planning in favor of rapid prototyping. The developers can learn the language plus “plan” and perfect the mechanics of the game as the game is being programmed. Conceptual Model Player Avatar State Model Software Estimation Cost Drivers Scale Drivers EAF = MULT(Cost Drivers) = 1.22 x 0.87 x 1.24 x 1.25 x 1.10 x 0.93 x 0.88 x 0.87 x 0.86 x 0.92 = 1.02 Sum(Wi) = 2.42 + 3.64 = 2.53 = 1.98 = 1.82 = 12.39 b = 1.01 + 0.01 x SUM(Wi) = 1.01 + 0.01 x 12.39 = 1.1339 Effort = a x KLOC ^ b x EAF = 2.55 x 8 x 1.1339 x 1.02 = 27.5 Person-Month Since the team size is fixed at 7 people, Duration = Effort / Team Size = 27.5 / 7 = 3.9 months Function Points There are a total of 5 inputs, #creating name of player #showing error message if the name field is empty #menu buttons to go to different interfaces (game credits, game introduction, game screen, game over screen) #status bars of the 8 millenium goals to show the percentage information calculated #amount of people entering the infrastructures There are a total of 7 outputs, #game status #notification message for buying of items #notification message for upgrading of infrastructures #overall score #website that displays the 8 United Nation millennium goals #status bars of the 7 millennium goals #amount of AI entering the infrastructure is shown on top of each infrastructure There are a total of 2 inquiries, #browse items available #browse upgrade available There are a total of 1 logical file, #game introduction (animation) There are a total of 4 external interfaces, #website to display the 8 millennium goals #items #infrastructure #score Influence Factors Influence Multiplier = 11 x 0.01 + 0.65 = 0.76 Total Adjusted Function Points = Influence Multiplier x Function Points = 0.76 x 84 = 64.84 Since 1 Function Point for C# Programming is equivalent to 31 lines of codes(LOC), Total LOC = 31 x 63.84 = 1979.04 Quality Assurance Quality Assurance is a very important process in a software project as it helps to reduce defects in the software and this in turn increases the reliability of the software. And reliability is one of the factors that lead to good software quality and this partly contributes to the success of a software project. To ensure the quality of the project, Team “Beyond Miracle” Quality Assurance Team will make sure that the project conforms to all the requirements that are being agreed with the team. Team “Beyond Miracle” Quality Assurance Team will also conduct two types of testing. They are 1) unit testing and 2) test the software as a whole. Unit Testing By doing unit testing, it will allow the team to “early” discovers the defects available in the particular module. With an early detection, the team will have an easier time to fix all the defects as compared to later detection such as only do testing when all the modules are being integrated as the problem complexity is lower. If QA team only do testing after all modules are being integrated together, there are a higher possibility of defects and this will lead to us allocating more time and human resources into the project to exist in overcoming the defects. By doing so, it might increase the possibility of us not completing the project on time. Test Software as a Whole Doing “testing software as a whole” will ensure the overall reliability of the whole software as some defects might occur only after the integration of the modules. Monitoring & Control Monitoring and controlling process is critical in a software project as it prevents the team #to lag behind schedule, #to introduce unnecessary changes into the system without forethought #to introduce faults into the system Ability to have a good monitoring and control process will in turn ensure the success of the software project Configuration Management The objective of Configuration Management is to establish and manage baselines of product releases. Configuration Management is defined as a set of requirements, design, source code files and the associated executable code, build files and user documentation that have been assigned a unique identifier can be considered to be a baseline. Documents that are uniquely identified and placed under version control are known as Configuration Items. Configuration Items for this project falls into: #Documents which are subject to 1 or more revisions during the Software Development Life Cycle (SDLC) #Source codes and object files used to build the software application. #Support items, such as operating systems and softwares, of which the project requires certain versions for successful operation. Measurement and Analysis The aim of Measurement and Analysis is to set up and maintain a measurement system that is used to support management information needs. The goals of Measurement and Analysis is to ensure that the measurement objectives are in line with the project needs and that the measurement results are provided. Risk Management Documented Process Definition Best Practice Checklist